package com.ktgj.customer.service;

import com.ktgj.customer.domain.BusinessOrder;
import com.ktgj.customer.domain.Card;
import com.ktgj.customer.domain.Customer;
import com.ktgj.customer.domain.CustomerCard;

import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.text.ParseException;
import java.util.List;
import java.util.Map;

public interface ICardPurchaseService {
    //下单
    String buyCardOrder(Long customerId, Long id, Long creditsNum, Long couponId, BigDecimal usedMoney, BigDecimal couponMoney, BigDecimal usedDeposit, String businessType) throws Exception;

    Map<String, Object> queryOrderInfoByNum(String orderNum);

    void orderResult(boolean bool, String orderNum, String partyPayNum) throws ParseException;
    String cardOrderResult(boolean bool, String orderNum, String partyPayNum, String payType);

    boolean cardInvalid(List<CustomerCard> invalidCards);

    List<BusinessOrder> getWaitPayOrder(Long customerId);

    //生成卡号
    String getCardCode(Card card);

    //app购卡下单
    String appPuyCardOrder(Long customerId, Long cardId, boolean usePoint, Long couponId, BigDecimal usedMoney, boolean useDeposit, String years, Long customerId1, List<Integer> product) throws Exception;

    Map<String, Object> wechatPay(String openId, String orderNumber, HttpServletRequest request, BigDecimal amount, String type) throws Exception;

    void updateCardInvalid();
}
